ARM�® is the prevalent processor architecture for embedded and mobile applications.\nFor the smartphones, it is the processor for which software applications\nare running, whether the platform is with Appleâ��s iOS or Googleâ��s Android.\nSoftware operations under these platforms are prone to semantic gap,\nwhich refers to potential difference between intended operations described in\nsoftware and actual operations done by processor. Attacks that compromise\nprogram control flows, which result in these mantic gaps, are a major attack\ntype in modern software attacks. Many recent software protection schemes for\nservers and desktops focus on protecting program control flows, but there are\nlittle protection tools available for protecting program control flows of mobile\napplications for ARM processor architecture. This paper uses a program\ncounter (PC) encoding technique (PC-Encoding) to harden program control\nflows under ARM processor architecture. The PC-Encoding directly encodes\ncontrol flow target addresses that will load into the PC. It is simple and intuitive\nto implement and incur little overhead. Encoding the control flow target\naddresses can minimize the semantic gap by preventing potential compromises\nof the control flows. This paper describes our efforts of implementing\nPC-Encoding to harden portable binaries in ELF (Executable and Linkable\nFormat).
Loading....